package br.com.loja.model.service.callback.impl;

import br.com.loja.model.entity.estoque.ItemEstoque;
import br.com.loja.model.entity.produto.Produto;
import br.com.loja.model.service.Service;
import br.com.loja.model.service.callback.Callback;
import br.com.loja.model.service.callback.PostPersist;
import br.com.loja.model.service.exception.ServiceException;
import br.com.loja.model.service.factory.ServiceFactory;

@Callback(Produto.class)
public class ProdutoCallback {

    private final Service<ItemEstoque> service;

    public ProdutoCallback() throws ServiceException {
        service = ServiceFactory.getServiceFactory().getService(ItemEstoque.class);
    }

    @PostPersist
    public void postPersist(Produto entity) {
        ItemEstoque itemEstoque = new ItemEstoque();
        itemEstoque.setProduto(entity);

        service.save(itemEstoque);

    }

}
